home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Graphics Programming (2nd Edition) / Visual Basic Graphics Programming 2nd Edition.iso / Src / Ch7 / Shrink.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1999-05-05  |  2.2 KB  |  78 lines

  1. VERSION 5.00
  2. Begin VB.Form frmShrink 
  3.    Caption         =   "Shrink"
  4.    ClientHeight    =   3000
  5.    ClientLeft      =   60
  6.    ClientTop       =   345
  7.    ClientWidth     =   4545
  8.    LinkTopic       =   "Form1"
  9.    ScaleHeight     =   200
  10.    ScaleMode       =   3  'Pixel
  11.    ScaleWidth      =   303
  12.    StartUpPosition =   3  'Windows Default
  13.    Begin VB.PictureBox picSmall 
  14.       Height          =   1410
  15.       Left            =   3000
  16.       ScaleHeight     =   90
  17.       ScaleMode       =   3  'Pixel
  18.       ScaleWidth      =   90
  19.       TabIndex        =   1
  20.       Top             =   840
  21.       Width           =   1410
  22.    End
  23.    Begin VB.PictureBox picOriginal 
  24.       Height          =   2760
  25.       Left            =   120
  26.       ScaleHeight     =   180
  27.       ScaleMode       =   3  'Pixel
  28.       ScaleWidth      =   180
  29.       TabIndex        =   0
  30.       Top             =   120
  31.       Width           =   2760
  32.    End
  33. Attribute VB_Name = "frmShrink"
  34. Attribute VB_GlobalNameSpace = False
  35. Attribute VB_Creatable = False
  36. Attribute VB_PredeclaredId = True
  37. Attribute VB_Exposed = False
  38. Option Explicit
  39. Private Sub Form_Load()
  40. Const PI = 3.14159265
  41. Const NUM_LINES = 40
  42. Dim xmid As Single
  43. Dim ymid As Single
  44. Dim x1 As Single
  45. Dim y1 As Single
  46. Dim x2 As Single
  47. Dim y2 As Single
  48. Dim theta As Single
  49. Dim dtheta As Single
  50. Dim r1 As Single
  51. Dim r2 As Single
  52. Dim i  As Integer
  53.     picOriginal.AutoRedraw = True
  54.     xmid = picOriginal.ScaleWidth / 2
  55.     ymid = picOriginal.ScaleHeight / 2
  56.     r1 = picOriginal.ScaleWidth * 0.45
  57.     r2 = picOriginal.ScaleWidth * 0.1
  58.     dtheta = 2 * PI / NUM_LINES
  59.     theta = 0
  60.     For i = 1 To NUM_LINES
  61.         x1 = xmid + r1 * Cos(theta)
  62.         y1 = xmid + r1 * Sin(theta)
  63.         x2 = xmid + r2 * Cos(theta)
  64.         y2 = xmid + r2 * Sin(theta)
  65.         picOriginal.Line (x1, y1)-(x2, y2)
  66.         theta = theta + dtheta
  67.     Next i
  68.     picOriginal.Picture = picOriginal.Image
  69.     picSmall.AutoRedraw = True
  70.     picSmall.PaintPicture _
  71.         picOriginal.Picture, 0, 0, _
  72.         picSmall.ScaleWidth, _
  73.         picSmall.ScaleHeight, _
  74.         0, 0, _
  75.         picOriginal.ScaleWidth, _
  76.         picOriginal.ScaleHeight
  77. End Sub
  78.